// Decompiled by Jad v1.5.8e2. Copyright 2001 Pavel Kouznetsov.
// Jad home page: http://kpdus.tripod.com/jad.html
// Decompiler options: packimports(3) fieldsfirst ansi 
// Source File Name:   xx.java

package com.zelix;

import java.io.*;
import java.util.*;

// Referenced classes of package com.zelix:
//            ef, rb, fh, zo, 
//            dp, lt, ou, yx, 
//            lx, oy, uy, ly

public class xx extends ef
{

    private static String z[];

    xx(BufferedReader bufferedreader)
        throws IOException, rb
    {
        super(bufferedreader);
    }

    public static String b(String s, String s1, ly ly, ly ly1)
    {
        String s2;
        StringBuffer stringbuffer;
        StringTokenizer stringtokenizer;
        int i;
        boolean flag;
        flag = yx.d;
        s2 = s + ":" + " ";
        stringbuffer = new StringBuffer();
        stringtokenizer = new StringTokenizer(s1, ",", true);
        i = 0;
        if(!flag) goto _L2; else goto _L1
_L1:
        String s3;
label0:
        {
            s3 = stringtokenizer.nextToken();
            if(s3.equals(","))
            {
                i++;
                if(!flag)
                    break label0;
            }
            switch(i)
            {
            case 0: // '\0'
                break;

            case 1: // '\001'
                String s4 = yx.b(s3, ly);
                if(s3.trim().equals(s4))
                    break;
                stringbuffer.append(" " + s4);
                if(!flag)
                    continue; /* Loop/switch isn't completed */
                // fall through

            case 2: // '\002'
                String s5 = ef.a(s3, ly1);
                if(s3.trim().equals(s5))
                    break;
                stringbuffer.append(" " + s5);
                if(!flag)
                    continue; /* Loop/switch isn't completed */
                // fall through

            default:
                lx.b(false, "'" + s + z[9] + s1 + z[8] + i);
                break;
            }
        }
        stringbuffer.append(s3);
_L2:
        if(stringtokenizer.hasMoreTokens()) goto _L1; else goto _L3
_L3:
        return s2 + stringbuffer.toString();
    }

    String b(String s, ly ly, ly ly1)
    {
        String s1 = c(s);
        return a(b(s, s1, ly, ly1));
    }

    String d(String s)
    {
        if(s.equalsIgnoreCase(z[13]))
            return z[13];
        if(s.equalsIgnoreCase(z[12]))
            return z[12];
        if(s.equalsIgnoreCase(z[7]))
            return z[7];
        if(s.equalsIgnoreCase(z[11]))
            return z[11];
        if(s.equalsIgnoreCase(z[3]))
            return z[3];
        if(s.equalsIgnoreCase(z[10]))
            return z[10];
        if(s.equalsIgnoreCase(z[0]))
            return z[0];
        else
            return s;
    }

    public boolean c()
    {
        String s = c(z[0]);
        return s != null;
    }

    public boolean d()
        throws rb
    {
        String s = c(z[0]);
        if(s == null)
            return false;
        String s1 = null;
        int i = s.indexOf("-");
        if(i > -1 && i < s.length() - 1)
            s1 = s.substring(i + 1);
        else
            throw new rb(z[16] + s + z[15]);
        return s1.startsWith(z[14]);
    }

    void a(String s, HashMap hashmap, HashMap hashmap1)
    {
        String s1;
        Enumeration enumeration;
        boolean flag;
        flag = yx.d;
        s1 = z[1] + s + "'";
        enumeration = super.c.a();
        if(!flag) goto _L2; else goto _L1
_L1:
        String s2;
        String s4;
        StringTokenizer stringtokenizer;
        int i;
        s2 = (String)enumeration.nextElement();
        if(s2.equals(z[7]))
        {
            String s3 = c(z[7]);
            String s6 = lt.b(s3);
            mt mt = fh.a(s6);
            if(mt == null)
                continue; /* Loop/switch isn't completed */
            hashmap.put(mt, z[6] + s1);
            ou ou1 = (ou)mt.a(dp.h);
            if(ou1 == null)
                continue; /* Loop/switch isn't completed */
            hashmap1.put(ou1, z[6] + s1);
            if(!flag)
                continue; /* Loop/switch isn't completed */
        }
        if(!s2.startsWith(z[5]) || !oy.a(s2.substring(z[5].length())))
            break MISSING_BLOCK_LABEL_421;
        s4 = c(s2);
        stringtokenizer = new StringTokenizer(s4, ",", true);
        i = 0;
        if(!flag) goto _L4; else goto _L3
_L3:
        String s8 = stringtokenizer.nextToken().trim();
        if(s8.equals(","))
        {
            i++;
            if(!flag)
                continue; /* Loop/switch isn't completed */
        }
        switch(i)
        {
        case 0: // '\0'
        case 1: // '\001'
            break;

        case 2: // '\002'
            String s9 = lt.b(s8);
            mt mt1 = fh.a(s9);
            if(mt1 == null)
                break;
            hashmap.put(mt1, z[2] + s2 + s1);
            if(!flag)
                break;
            // fall through

        default:
            lx.b(false, "'" + s2 + z[9] + s4 + z[8] + i);
            break;
        }
_L4:
        if(stringtokenizer.hasMoreTokens()) goto _L3; else goto _L5
_L5:
        if(!flag)
            continue; /* Loop/switch isn't completed */
        if(s2.equals(z[3]))
            continue; /* Loop/switch isn't completed */
        String s5 = c(s2);
        stringtokenizer = new StringTokenizer(s5, z[4], true);
        if(!flag) goto _L7; else goto _L6
_L6:
        String s7 = stringtokenizer.nextToken();
        if(s7.length() >= zo.n && s7.indexOf(".") > -1 && s7.indexOf("/") == -1)
        {
            int j = s7.indexOf(".");
            if(j > 0 && j < s7.length() - 1 && ef.a(s7, "."))
            {
                String s10 = lt.b(s7);
                mt mt2 = fh.a(s10);
                if(mt2 != null)
                    hashmap.put(mt2, z[2] + s2 + s1);
            }
        }
_L7:
        if(stringtokenizer.hasMoreTokens()) goto _L6; else goto _L2
_L2:
        if(enumeration.hasMoreElements()) goto _L1; else goto _L8
_L8:
    }

    void a(PrintWriter printwriter, ly ly, ly ly1, yx yx1)
        throws IOException
    {
        Enumeration enumeration;
        boolean flag;
        flag = yx.d;
        enumeration = super.c.a();
        if(!flag) goto _L2; else goto _L1
_L1:
        String s = (String)enumeration.nextElement();
        if(s.equals(z[7]))
        {
            String s1 = c(z[7]);
            printwriter.println(a(z[17] + ef.a(s1, ly1)));
            if(!flag)
                continue; /* Loop/switch isn't completed */
        }
        if(s.equals(z[13]) || s.equals(z[12]) || s.equals(z[11]))
        {
            String s2 = b(s);
            printwriter.println(s + ":" + " " + s2);
            if(!flag)
                continue; /* Loop/switch isn't completed */
        }
        if(s.equals(z[18]))
        {
            printwriter.println(a(s + ":" + " " + yx.b(c(s), ly)));
            if(!flag)
                continue; /* Loop/switch isn't completed */
        }
        if(s.startsWith(z[5]) && oy.a(s.substring(z[5].length())))
        {
            printwriter.println(b(s, ly, ly1));
            if(!flag)
                continue; /* Loop/switch isn't completed */
        }
        if(!s.equals(z[3]))
            printwriter.println(a(s, ly, ly1));
_L2:
        if(enumeration.hasMoreElements()) goto _L1; else goto _L3
_L3:
        printwriter.println();
        return;
    }

    private static String z(char[] chs) {
        byte key = 0;
        for (int i = 0; i < chs.length; i++) {
            switch (i % 5) {
                case 0:
                    key =0x22;
                    break;
                case 1:
                    key =98;
                    break;
                case 2:
                    key =102;
                    break;
                case 3:
                    key =107;
                    break;
                case 4:
                    key =94;
                    break;
            }
            chs[i] ^= key;
        }
        return new String(chs).intern();
    }

    static 
    {
        String as[];
        as = new String[19];
        as[0] = "o\013\005\0311g\006\017\0377M\fK(1L\004\017\f+P\003\022\0021L";
        as[1] = "\002\013\bKy";
        as[2] = "o#(\"\030g12E\023dB";
        as[3] = "q\013\001\005?V\027\024\016st\007\024\0307M\f";
        as[4] = "\002N]";
        as[5] = "o+\"\007;VO";
        as[6] = "o#(\"\030g12E\023dB+\n7LO%\007?Q\021";
        as[7] = "o\003\017\005sa\016\007\030-";
        as[8] = "\005B\\K";
        as[9] = "\005B\016\n-\002\013\b\035?N\013\002K(C\016\023\016~\005";
        as[10] = "o\013\005\0311g\006\017\0377M\fK;,M\004\017\007;";
        as[11] = "q\007\007\007;F";
        as[12] = "a\016\007\030-\0172\007\0376";
        as[13] = "o\003\b\0028G\021\022F\bG\020\025\0021L";
        as[14] = "\023LV";
        as[15] = "\005B\017\005~O\003\b\0028G\021\022";
        as[16] = "k\f\020\n2K\006F&7A\020\t.:K\026\017\0040\017!\t\0058K\005\023\031?V\013\t\005~\005";
        as[17] = "o\003\017\005sa\016\007\030-\030B";
        as[18] = "o+\"\007;VO/\b1L";
        for(int i = 0;i<as.length; i++){
            as[i] = z(as[i].toCharArray());
        }
        z = as;
    }
}
